﻿using ATEC.ATDataCoreNET;
using ATEC.GeometryNET;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SSDPObject;

namespace DoModelExample
{
    // 路线信息
    [CCF(ccfName = "ProjectModelExample", cclanName = "AlignmentInfo")]
    public class AlignmentInfo
    {
        [CCLanProperty(cclanPropName = "RoadId")]
        public long RoadId { get; set; }                    // 路线ID

        [CCLanProperty(cclanPropName = "RoadName")]
        public string RoadName { get; set; }                  // 路线名称

    };

    // 构件属性
    [CCF(ccfName = "ProjectModelExample", cclanName = "ComponentProp")]
    public class ComponentProp
    {
        [CCLanProperty(cclanPropName = "RoadInfo")]
        public AlignmentInfo RoadInfo { get; set; }                  // 参考路线信息

        [CCLanProperty(cclanPropName = "startStation")]
        public double startStation { get; set; }              // 起始桩号

        [CCLanProperty(cclanPropName = "endStation")]
        public double endStation { get; set; }                // 终止桩号

    };

    // 构件信息
    [CCF(ccfName = "ProjectModelExample", cclanName = "ComponentInfo")]
    public class ComponentInfo
    {
        [CCLanProperty(cclanPropName = "component")]
        public ComponentProp component { get; set; } = new ComponentProp();// 构件属性

        [CCLanProperty(cclanPropName = "Curve")]
        public CurveSet Curve { get; set; }                     // 构件轮廓

        [CCLanProperty(cclanPropName = "id")]
        public List<long> id { get; set; } = new List<long>();    // 构件id

    };
}
